Method of restoring AV session and a control point for the same

ABSTRACT

An AV session restoration method and a control point for performing the same are provided. The method includes collecting AV session information, and restoring the AV session based on the collected AV session information when an error occurs in the AV session.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from Korean Patent Application No.10-2006-0009343, filed on Jan. 31, 2006, in the Korean IntellectualProperty Office, the disclosure of which is incorporated herein byreference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an AV system and, more particularly, toa method of restoring an AV session and a control point for performingthe same.

2. Description of the Related Art

A home network includes various network devices such as intelligentproducts, wireless devices, and computing devices, which enable a userto control the various network devices as a single connected network.Network devices composing a home network provide services usingmiddleware creating a virtual distributed computing environment.Middleware such as a home AV interoperability (HAVi), an universal plugand play control device (UPnP), a Java intelligent network infrastructure (Jini), and an open services gateway initiative (OSGi) havebeen used to date.

In a home network, a user can receive various AV services such asmovies, music, and photo-printing. A UPnP control point, controlling anAV device, and a method of connecting a device connected to an IEEE 802network and a device connected to the IEEE 1394 network through a UPnPdevice functioning as a bridge are disclosed in Japanese UnexaminedPatent No. 10-2003-046535: “An Information Processing Apparatus andMethod, Recording Medium, and Program”, which enable a user to use mediaat home regardless of location.

If content playing on an AV system is abnormally stopped because anerror occurs in the AV system, several steps need to be performed by auser to restore the AV system. To play the stopped content, for example,the user searches for the content being played, and requests playing ofthe found content. To play the content from the stopped point, the userhas to directly search for the part, checking a playing-state of thecontent by relying on his or her memory. Also, the user must directlyreset the volume and brightness, which is inconvenient.

SUMMARY OF THE INVENTION

In view of the above, it is an aspect of the present invention to easilyrestore a lost AV session.

This and other aspects, features and advantages of the present inventionwill become clear to those skilled in the art upon review of thefollowing description, attached drawings and appended claims.

According to an aspect of the present invention, there is provided amethod of restoring an AV session, the method including collecting AVsession information, and restoring the AV session based on the collectedAV session information when an error occurs in the AV session.

According to another aspect of the present invention, there is provideda control point including an information-collecting module that collectsAV session information, and a restoration module that restores the AVsession based on the collected AV session information when an erroroccurs in the AV session.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features and advantages of the present inventionwill become apparent by describing in detail exemplary embodimentsthereof with reference to the attached drawings, in which:

FIG. 1 depicts a UPnP AV system according to an exemplary embodiment ofthe present invention;

FIG. 2 is a flowchart illustrating a process of storing AV sessioninformation according to a first exemplary embodiment of the presentinvention;

FIG. 3 is a flowchart illustrating a process of collecting AV sessioninformation according to a first exemplary embodiment of the presentinvention;

FIG. 4 illustrates an event message according to a first exemplaryembodiment of the present invention;

FIG. 5 is a flowchart illustrating a process of collecting AV sessioninformation according to another exemplary embodiment of the presentinvention.

FIG. 6 is a flowchart illustrating a process of storing AV sessioninformation in a media server;

FIG. 7 is a flowchart illustrating a method of restoring AV sessionaccording to an exemplary embodiment of the present invention;

FIG. 8 is a flowchart illustrating a process of searching for an AVsession list according to an exemplary embodiment of the presentinvention;

FIG. 9 illustrates an AV session list according to an exemplaryembodiment of the present invention;

FIG. 10 is a flowchart illustrating an AV session restoration accordingto an exemplary embodiment of the present invention, and

FIG. 11 is a block diagram illustrating a control point 110 according toan exemplary embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Advantages and features of the aspects of the present invention andmethods of accomplishing the same may be understood more readily byreference to the following detailed description of exemplary embodimentsand the accompanying drawings. The aspects of the present invention may,however, be embodied in many different forms and should not be construedas being limited to the embodiments set forth herein. Rather, theseembodiments are provided so that this disclosure will be thorough andcomplete and will fully convey the concept of the invention to thoseskilled in the art, and the present invention will only be defined bythe appended claims.

Before the detailed description is set forth, terms used in thisspecification will be described briefly. Description of terms isprovided for a better understanding of the specification, and terms thatare not explicitly defined herein are not intended to limit the broadaspect of the invention.

Media Data

Media data includes videos, images, audio, and text. Media data can bein various formats such as movies, music, photos, and games.

Media Server

A media server includes a storage medium, such as a flash memory, andtherefore it can store media data, and then provide the stored mediadata to another device. Examples of such an AV server are a personalvideo recorder (PVR) and a personal computer (PC).

Media Renderer

A media renderer can receive content from the media server, and play thecontent. Examples of such media renderers are a digital TV, a portablemultimedia player (PMP), and an audio system.

Control Point

A control point can control the media server and the media renderer. Auser can manage a UPnP AV system through the control point.

AV Session

An AV session is a logical connection unit between devices for playingcontent. Through the media server and the media renderer, when one setof content is played, one AV session is formed. When two sets of contentare played, two AV sessions are formed.

AV Session Information

AV session information includes details of a normal AV session. The AVsession information includes information on the media server and themedia renderer that form the AV session, a uniform resource identifier(URI) of the content played in the AV session, andplaying-environment-information of the AV session. The information onthe media server and the media renderer includes identifiers of themedia server and the media renderer. The playing-environment informationincludes state variables of the AV transport service (AVTS), such as,playing-position information of content and state variables of therendering control service (RCS), such as, volume, brightness, andcontrast.

Terms used in this specification, including the above-described terms,can be clearly understood with reference to UPnP standards related withan AV system, such as, UPnP AV Architecture: 0.83, MediaRenderer:1Device Template Version 1.01, MediaServer:1 Device Template Version1.01, ConnectionManager:1 Device Template Version 1.01, AVTransport:1Device Template Version 1.01, RenderingControl:1 Device Template Version1.01, and ContentDirectory:1 Device Template Version 1.01. The abovestandards are provided for a better understanding of the specification,and are not intended to limit the broad aspect of the invention. Forreference, documents for the standards are provided by the websitewww.upnp.org. Hereinafter, exemplary embodiments of the presentinvention will be described in detail with reference to the accompanyingdrawings.

FIG. 1 depicts a UPnP AV system according to an exemplary embodiment ofthe present invention.

A UPnP AV system includes a control point 110, a media renderer 120, anda media server 130.

In FIG. 1, the control point 110, the media renderer 120, and the mediaserver 130 are depicted as respective devices, which is merelyexemplary. According to an exemplary embodiment, at least two of thedevices may be integrated as a single device. For example, the controlpoint 110 and the media renderer 120 may be embodied as a single device.

According to an exemplary embodiment, a single UPnP AV system mayinclude one or more control points, media renderers, and media servers.

The media server 130 supports a content directory service (CDS). The CDSenables the control point 110 to search for and manage content stored inthe media server 130. The CDS defines various actions; for example,Browse, Search, and CreateObject. Browse and Search may be used when thecontrol point 110 searches for the content stored in the media server130. CreateObject may be used when the control point 110 stores contentor AV session information in the media server 130.

The media renderer 120 supports AVTS and RCS. The AVTS enables thecontrol point 110 to control the content playing of the media renderer120. For this, the AVTS defines various actions, for example, Play,Stop, and Seek. Play and Stop may be used to play or stop playing thecontent. Seek may be used to seek a specific content-playing-position ina visual point. The RCS enables the control point 110 to control acontent-providing environment of the media renderer 120. Examples of thecontent-providing environment may be brightness, contrast, and volume.The RCS supports various actions used to control the content-providingenvironment.

To briefly describe an operation of a UPnP AV system, if the controlpoint 110 requests searching of the content stored in the media server130 using Browse, the media server 130 provides the XML document,including information on the content stored in the media server 130 inoperation {circle around (1)}. The information on content may include acontent title, a content creator, and a URI.

When a user selects desired content through information on content, thecontrol point 110 requests the media renderer 120 to play thecorresponding content in operation {circle around (2)}. The URI of theselected content is transmitted from the control point 110 to the mediarenderer 120.

The media renderer 120 requests the content from the media server 130 inoperation {circle around (3)}. To request the content, the HTTP Getmessage and the URI transmitted by the control point 110 may be used.

The media server 130 transmits the requested content requested from themedia renderer 120 in operation {circle around (4)}. Thecontent-transmitting method between the media server 130 and the mediarenderer 120 is not limited UPnP; another protocol may be used.

The media renderer 120 plays content transmitted by the media server130.

The control point 110 collects AV session information while the mediarenderer 120 is playing the content. The collected AV sessioninformation may be stored in the control point 110 or the media server130. The stored AV session information will be used when an AV sessionis restored. AV session information and an AV session restoration willbe described in detail in the following.

FIG. 2 is a flowchart illustrating a process of storing AV sessioninformation according to a first exemplary embodiment of the presentinvention. The flowchart is described based on the control point 110.

When the control point 110 searches the media server for content, andrequests the media renderer 120 to play a specific content, the mediarenderer 120 plays the content by streaming content from the mediaserver 130. While the content is being played, the control point 110collects the AV session information in S210. The AV session informationmay be obtained from the media renderer 120. The AV session informationmay be obtained by an event message transmitted by the media renderer120 or by a request of the control point 110, which will be describedwith reference to FIGS. 3 through 5.

The media renderer 120 may transmit various event messages to thecontrol point 110. When the state of the media renderer 120 is changed,the event message includes information on the changed state.Accordingly, if the state of the media renderer is changed asillustrated in FIG. 3, S310, the media renderer 120 transmits the eventmessage including the information on the changed state to the controlpoint 110 in S320.

Here, the event message does not always include the AV sessioninformation. Accordingly, the control point 110 chooses the AV sessioninformation of the event messages received from the media renderer 120in S330.

As an example of changing a state of the media renderer 120, which wasomitted in FIG. 3, the control point 110 requests the media renderer 120to change the state variables of the AVTS and RCS. If the control point110 requests to change a content-playing environment such as volume,brightness, and contrast, the media render 120 transmits an eventmessage, which is depicted in FIG. 4, to the control point 110. In FIG.4, the event message shows that brightness and contrast settings, ofcontent-playing environments of the AV session in which an instance IDis “0” (more particularly, state variables of the RCS), are changed to36 and 54, respectively. Various event models may exist, which isdescribed in detail in UPnP's AVTransport:1 Service Template Version1.01 and Rendering Control:1 Service Template Version 1.01.

In case of AV session information that cannot be obtained through theevent message, the control point 110 requests information from the mediarenderer 120 in S510. The control point 110 obtains the information byreceiving the corresponding response from the media renderer 120 inS520. Information on a content-playing position defined inAVTrasnsport:1 Service Template Version 1.0 is RelativeTimePosition,AbsoluteTimePosition, RelativeCounterPosition, andAbsoluteCounterPosition. The content-playing information is nottransmitted through the event message. To obtain information on thecontent-playing position, the control point 110 may use aGetPositionInfor action in S510 of FIG. 5. Preferably, the control point110 periodically requests the AV session information from the mediarenderer 120 as illustrated in FIG. 5.

Identifiers of the media renderer 120 and the media server 130, and aURI of the content, of the AV session information, may be obtained whenthe AV session is established.

Referring back to FIG. 2, when new AV session information is collected,the control point 110 updates the AV session information collected inadvance by reflecting the collected new AV session information in S220.

The control point 110 determines whether an error has occurred in the AVsession in S230. If the AV session error does not occur, steps S210 andS220 are repeated.

If the AV session cannot be normally maintained because an error occursin the AV session, the control point 110 stores the most recentlyupdated AV session information in S240.

In S240 of FIG. 2, the AV session information is stored in the controlpoint 110. According to another exemplary embodiment, however, thecontrol point 110 stores the AV session information in the media server130, which is illustrated in FIG. 6. When the control point 110transmits the AV session information with a request to store theinformation in the media server 130, the media server 130 stores thetransmitted AV session information in S620, and transmits thecorresponding response message to the control point 110 in S630. Torequest storage of the AV session information, the control point 110 mayuse a CreatObject action and a CreateReference action of the CDS. Themedia server 130 may store the AV session information in a upnp:descelement. If the UPnP AV system is under an UPnP bookmark rule, the AVsession information may be stored in the media server 130 as abookmark-item type.

If the AV session information is stored by the operation illustrated inFIGS. 2 through 6, even though the content-playing operation isabnormally stopped because an error has occurred in the AV session, theAV session can be restored. Hereinafter, an AV session restorationoperation will be described with reference to FIGS. 7 through 10.

FIG. 7 is a flowchart illustrating a method of restoring AV sessionaccording to an exemplary embodiment of the present invention. Theillustrated flowchart is described based on the control point 110.

After the content playing is abnormally stopped because an error hasoccurred in the AV session, if a request for an AV session list is inputby a user S710, the control point 110 searches for the AV sessioninformation stored when the error occurs S720.

If storing the AV session information in the media server 130 asdescribed with reference to FIG. 6, the control point 110 may search forthe AV session information in the media server 130. For example, thecontrol point 110 requests the AV session list from the media server 130in S810. The media server 130 may transmit the AV session informationstored in advance to the control point 110 as the corresponding responseto the request from the control point 110 in S820. To request the AVsession list, the control point 110 may use the Browse action.

Referring to FIG. 7, the control point 110 displays the found AV sessionlist to a user in S730. In S730, the AV session list displayed by thecontrol point 110 may include all or some of the AV session informationstored in each AV session, an example of which is illustrated in FIG. 9.The identifier of AV session lost because of an error 910, titles ofcontent 920 that were being played in each AV session, the date wheneach AV session is lost 930, a content-playing position of the time whenthe AV session is lost 940, and a sound set when the AV session is lost950 are in an exemplary embodiment of the present invention of FIG. 9.

A user may select a desired AV session in the AV session list displayedby the control point 110. If a specific AV session is selected by theuser in S740, the control point 110 performs an AV session restorationusing the AV session information of the selected AV session in S750.Accordingly, the AV session, including a URI of content, acontent-playing position, and information on other content-playingenvironments, which are included in the AV session information selectedby a user, is restored.

FIG. 10 illustrates an exemplary embodiment of the AV sessionrestoration described in S750 of FIG. 7.

The control point 110 obtains a URI of content in the AV sessioninformation of the AV session selected by a user, and transmits it tothe media renderer 120 in S1010. For this, the SetAVTransportURI actionmay be used. The media renderer 120 transmits the corresponding responsein S1015.

The control point 110 may connect to the media renderer 120, which isnot shown in FIG. 10, before URI information of content is transmitted.For example, the control point 110 may call PrepareForConnection actionbefore calling SetAVTransportURI action. If a plurality of mediarenderers are in the UPnP system, the control point 110 may decide onthe media renderer to be connected through a media renderer identifierthat is included in the AV session information of the AV sessionselected by a user.

When a response for the SetAVTransportURI action from the media renderer120 is received, the control point 110 may determine a content-playingposition to the media renderer 120 using information on thecontent-playing position, which is obtained by the AV sessioninformation in S1020. To determine the content-playing position, theSeek action may be used. As described with reference to FIG. 6, if theUPnP system is under the UPnP bookmark agreement, the control point 110may request the media renderer 120 to set a state variable related withthe AVTS in the AV session information of the AV session selected inS740 of FIG. 7. In this case, the SetStateVariable action of the AVTSmay be used.

When the response of the media renderer 120 is received in S1025, thecontrol point 110 requests playing of content in S1030.

The media renderer 120 requests the media server 130 to transmit contentusing the received URI and the content-playing position in S1035.

The media server 130 streams the content requested by the media renderer120 in S1040. The media server 130 transmits the requested content froma part corresponding to the content-playing position.

The media renderer 120 plays the content that is being streamed by themedia server 130 in S1045, and then transmits a response to the playrequest to the control point 110 in S1050.

The control point 110 may request the media renderer 120 to setinformation on other playing-environments of the AV session informationof the AV session selected in S740 of FIG. 7 in S1055. Theplaying-environment information is a state variable related with theRCS, such as volume, brightness, and contrast. The control point 110 mayuse SetStateVariable action of the RCS in S11055.

The media renderer 120 sets the playing-environment using the statevariable provided by the control point 110 S1060, and then transmits thecorresponding response to the control point 110 S1065.

Processes of FIG. 10 may be automatically performed by the control point110 without a user's involvement.

Hereinafter, a configuration of the control point 110 that performs theabove operations will be described with reference to FIG. 11.

FIG. 11 is a block diagram illustrating a control point 110 according toan exemplary embodiment of the present invention. The illustratedcontrol point 110 includes a state-checking module 1110, aninformation-collecting module 1120, a control module 1130, a userinterface module 1140, a communication module 1150, an AV sessioninformation storage module 1160, and a restoration module 1170.

The state-checking module 1110 checks a state of the AV session in orderto determine whether to store the AV session information. That is, thestate-checking module 1110 checks whether an error has occurred in theAV session. The AV session error comprises a state where the playingcontent cannot be performed in the AV session.

The AV session error may occur when the media renderer 120 or the mediaserver 130 are abnormally stopped, when an inside error, such as, ahardware error and a software error of the media renderer 120 or themedia server 130 occurs, or when an AV network is unstable.

The state-checking module 1110 may determine that an error has occurredin the AV session when receiving an error-event message from the mediarenderer 120 or the media server 130, or when receiving a disconnectionmessage (e.g., a “goodbye” message) from the media renderer 120 or themedia server 130 in a state where the playing content is not stopped orwhere a request for stopping the playing content has not been input by auser.

The information-collecting module 1120 collects the AV sessioninformation. When collecting new AV session information, theinformation-collecting module 1120 updates the pre-collected AV sessioninformation. The information-collecting module 1120 stores thelatest-updated AV session information in the AV session informationstorage module 1160 or the media server 130 when an error occurs in theAV session. The detailed operation of the information-collecting module1120 can be understood with reference to FIGS. 2 through 6. Messages andactions needed to collect or store the AV session information may becalled via the control module 1130, which is exemplary. Theinformation-collecting module 1120 can generate and manage the messagesand actions needed to collect or store the AV session information.

The control module 1130 controls an operation of the control point 110.The control module 1130 can generate and manage the messages and actionsneeded to needed to communicate with the media renderer 120 and themedia server 130.

The user interface module 1140 receives a control instruction from auser, and provides the user with an operation-result of the controlpoint 110. The user interface module 1140 may include an input devicesuch as a keypad, a touch-pad, or a touch-screen and a display devicesuch as liquid crystal display (LCD), plasma display panel (PDP), andorganic electroluminescence.

The communication module 1150 connects the control point 110 with otherdevices. That is, the communication module 1150 communicates with themedia renderer 120 and the media server 130.

The AV session information storage module 1160 stores the AV sessioninformation. If the AV session information is stored in the media server130 as described with reference to FIG. 6, the control point 110 may notinclude the AV session information storage module 1160.

The restoration module 1170 performs restoration of the AV session. Anoperation of the restoration module 1170 can be understood withreference to FIGS. 7 through 10. Messages and actions needed to restorethe AV session may be called via the control module 1130, which isexemplary. The restoration module 1170 can generate and manage themessages and actions needed to needed to restore the AV session.

The term “module,” as used herein, refers to, but is not limited to, asoftware or hardware component, such as a Field Programmable Gate Array(FPGA) or an Application Specific Integrated Circuit (ASIC), whichperforms certain tasks. A module may advantageously be configured toreside on the addressable storage medium and configured to execute onone or more processors. Thus, a module may include, by way of example,components, such as software components, object-oriented softwarecomponents, class components and task components, processes, functions,attributes, procedures, subroutines, segments of program code, drivers,firmware, microcode, circuitry, data, databases, data structures,tables, arrays, and variables. The functionality provided for in thecomponents and modules may be combined into fewer components and modulesor further separated into additional components and modules. Inaddition, components and modules may be implemented so as to reproduceone or more CPUs within a device or a secure multimedia card.

The AV system based on the UPnP was described, but the present inventionis not limited thereto. The present invention may also be applied to AVsystems based on other middleware, which is included in the scope of theinvention.

As described above, the AV session restoration method and the controlpoint for the same according to the present invention can easily restorethe AV session when playing content is abnormally stopped because anerror occurs in the AV session.

Although the preferred embodiments of the present invention have beendisclosed for illustrative purposes, those skilled in the art willappreciate that various modifications, additions and substitutions arepossible, without departing from the scope and spirit of the inventionas disclosed in the accompanying claims.

1. A method of restoring an AV session, the method comprising: collecting AV session information; and restoring the AV session based on the collected AV session information when an error occurs in the AV session.
 2. The method of claim 1, wherein the AV session is a playing unit of content where the content streamed from a media server is normally played.
 3. The method of claim 1, wherein the AV session information comprises at least one of identifiers of a media renderer and a media server, which composes the AV session, a uniform resource identifier (URI) of the content played in the AV session, and information on playing-environment information of the content.
 4. The method of claim 3, wherein the playing-environment information comprises information on a content-playing position.
 5. The method of claim 3, wherein the playing-environment information comprises at least one of (AV transport service (AVTS) state variables and rendering control service (RCS) state variables of UPnP environment.
 6. The method of claim 1, wherein the collecting of AV session information comprises: receiving a predetermined event message from a media renderer that composes the AV session; and obtaining the AV session information from the event message.
 7. The method of claim 1, wherein the collecting the AV session information comprises: requesting the AV session information that composes the AV session from a media renderer; and receiving the AV session information from the media renderer.
 8. The method of claim 1, further comprising storing the AV session information in a media server that composes the AV session.
 9. The method of claim 1, wherein the restoring comprises requesting a media renderer, which is checked through the AV session information, to play content in the AV session, which is identified through a URI of the content obtained by the AV session information, from a content-playing position obtained by the AV session information.
 10. The method of claim 9, wherein the restoring further comprises requesting the media renderer to set a content-playing environment obtained by the AV session information.
 11. The method of claim 1, further comprising determining that an error occurred in the AV session when at least one of an error-event message is received from at least one of a media renderer and a media server, and when a disconnection message is received from at least one of the media renderer and the media server in a state of at least one of the playing of content is not stopped and a request for stopping the playing of content is not input by a user.
 12. A control point comprising: an information-collecting module that collects AV session information; and a restoration module that restores an AV session based on the collected AV session information when an error occurs in the AV session.
 13. The control point of claim 12, wherein the AV session is a playing unit of content where the content streamed from a media server is normally played.
 14. The control point of claim 12, wherein the AV session information comprises at least one of identifiers of a media renderer and a media server, which composes the AV session, a uniform resource identifier (URI) of the content played in the AV session, and a playing-environment information of the content.
 15. The control point of claim 14, wherein the playing-environment information comprises information on a content-playing position.
 16. The control point of claim 14, wherein the playing-environment information comprises at least one of AV transport service (AVTS) state variables and rendering control service (RCS) state variables of a UPnP environment.
 17. The control point of claim 12, wherein the information-collecting module obtains the AV session information from an event message when a predetermined event message is received from a media renderer that composes the AV session.
 18. The control point claim 12, wherein the information-collecting module receives the AV session information from a media renderer after requesting the AV session information from the media renderer that composes the AV session.
 19. The control point of claim 12, wherein the information-collecting module requests storage of the AV session information in a media server that composes the AV session.
 20. The control point of claim 12, wherein the restoration module requests a media renderer, which is checked through the AV session information, to play content in the AV session, which is identified through a URI of the content obtained by the AV session information, from a content-playing position obtained by the AV session information.
 21. The control point of claim 20, wherein the restoration module requests the media renderer to set a content-playing environment obtained by the AV session information.
 22. The control point of claim 12, further comprising a state checking module that determines that an error has occurred in the AV session when at least one of an error-event message is received from at least one of a media renderer and a media server, and when a disconnection message is received from at least one of the media renderer and the media server in a state of at least one of the playing of content is not stopped and a request for stopping the playing of content is not input by a user. 